home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus 2000 #4 / Amiga Plus CD - 2000 - No. 4.iso / PowerPC / Dev / PPCRelease / Examples / Tasks / TaskASemaphore.s < prev    next >
Encoding:
Text File  |  1998-06-07  |  1.9 KB  |  120 lines

  1.  # GNU C 2.7.2.1
  2.  # -O2 -fdefer-pop -fomit-frame-pointer -fcse-follow-jumps -fcse-skip-blocks
  3.  # -fexpensive-optimizations -fthread-jumps -fstrength-reduce -fpeephole
  4.  # -fforce-mem -ffunction-cse -finline -fcaller-saves -fpcc-struct-return
  5.  # -frerun-cse-after-loop -fschedule-insns -fschedule-insns2 -fcommon
  6.  # -fgnu-linker -mpowerpc -mnew-mnemonics
  7.  
  8.     .file    "TaskASemaphore.c"
  9. gcc2_compiled.:
  10. .section    .rodata
  11.     .align 2
  12. .LC0:
  13.     .string    "TaskSemaphore"
  14.     .align 2
  15. .LC1:
  16.     .string    "Can`t obtain semaphore from task B or create my own\n"
  17.     .align 2
  18. .LC2:
  19.     .string    "con:0/0/640/200/TaskA/CLOSE"
  20.     .align 2
  21. .LC3:
  22.     .string    "%ld:Task A is active\n"
  23.     .align 2
  24. .LC4:
  25.     .string    "Couldn`t open CLI Window\n"
  26.     .section    ".text"
  27.     .align 2
  28.     .globl main
  29.     .type     main,@function
  30.     .long 0x404c
  31. main:
  32.     stwu 1,-112(1)
  33.     mflr 0
  34.     stw 28,96(1)
  35.     stw 29,100(1)
  36.     stw 30,104(1)
  37.     stw 31,108(1)
  38.     stw 0,116(1)
  39.     addis 29,0,.LC0@ha
  40.     addi 3,29,.LC0@l
  41.     bl PPCObtainSemaphoreByName
  42.     mr. 30,3
  43.     li 28,0
  44.     li 31,1
  45.     bc 4,2,.L2
  46.     lis 0,0x8002
  47.     ori 0,0,20480
  48.     stw 0,8(1)
  49.     addi 29,29,.LC0@l
  50.     stw 29,12(1)
  51.     stw 30,16(1)
  52.     addi 3,1,8
  53.     bl PPCCreateSemaphore
  54.     mr. 30,3
  55.     bc 4,2,.L3
  56.     mr 3,29
  57.     bl PPCObtainSemaphoreByName
  58.     mr. 30,3
  59.     bc 4,2,.L2
  60.     addis 3,0,.LC1@ha
  61.     addi 3,3,.LC1@l
  62.     crxor 6,6,6
  63.     bl PPCprintf
  64.     li 3,20
  65.     b .L18
  66. .L3:
  67.     li 28,1
  68.     li 31,0
  69. .L2:
  70.     addis 3,0,.LC2@ha
  71.     addi 3,3,.LC2@l
  72.     li 4,1006
  73.     bl PPCOpen
  74.     mr. 29,3
  75.     bc 12,2,.L6
  76.     addis 28,0,.LC3@ha
  77. .L7:
  78.     cmpwi 1,31,0
  79.     bc 4,6,.L10
  80.     mr 3,30
  81.     bl PPCObtainSemaphore
  82. .L10:
  83.     li 31,0
  84. .L14:
  85.     mr 3,29
  86.     addi 4,28,.LC3@l
  87.     mr 5,31
  88.     crxor 6,6,6
  89.     bl PPCfprintf
  90.     addi 31,31,1
  91.     cmpwi 1,31,9
  92.     bc 4,5,.L14
  93.     mr 3,30
  94.     bl PPCReleaseSemaphore
  95.     li 31,0
  96.     b .L7
  97. .L6:
  98.     addis 3,0,.LC4@ha
  99.     addi 3,3,.LC4@l
  100.     crxor 6,6,6
  101.     bl PPCprintf
  102.     cmpwi 1,28,0
  103.     bc 12,6,.L17
  104.     mr 3,30
  105.     bl PPCDeleteSemaphore
  106. .L17:
  107.     li 3,0
  108. .L18:
  109.     lwz 0,116(1)
  110.     mtlr 0
  111.     lwz 28,96(1)
  112.     lwz 29,100(1)
  113.     lwz 30,104(1)
  114.     lwz 31,108(1)
  115.     addi 1,1,112
  116.     blr
  117. .Lfe1:
  118.     .size     main,.Lfe1-main
  119.     .ident    "GCC: (GNU) 2.7.2.1"
  120.